﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using IndignadoFramework.BackBone.InternalServices;
using IndignadoFramework.BackBone.InternalServices.Implementacion;
using System.IO;
using Microsoft.Win32.SafeHandles;
using IndignadoFramework.BackBone.DTO;

namespace IndignadoFramework.BackOffice.Controllers
{
    public class FileManagerController : Controller
    {
        //
        // GET: /FileManager/

        public ActionResult Index()
        {
            return View();
        }

        public FileResult Imagen(int movimientoId, int usuarioId, int contenidoId)
        {
            MovimientoServices movimientoServices = new MovimientoServicesImpl();
            // Obtengo la Imagen
            ImagenModelDTO imagen = movimientoServices.getContenidoImagen(movimientoId, usuarioId, contenidoId);
            byte[] fileContent = imagen.ImagenData;
            string mimeType = imagen.ImagenFormato;
            string fileName = "cont";

            return File(fileContent, mimeType, fileName);
        }

        public FileResult Video(int movimientoId, int usuarioId, int contenidoId)
        {
            MovimientoServices movimientoServices = new MovimientoServicesImpl();
            // Obtengo el Video
            VideoModelDTO video = movimientoServices.getContenidoVideo(movimientoId, usuarioId, contenidoId);
            byte[] fileContent = video.VideoData;
            string mimeType = video.VideoFormato;
            string fileName = "cont.ogg";

            return File(fileContent, mimeType, fileName);
        }

        public FileResult GetCSS(int movimientoId)
        {
            MovimientoServices movimientoServices = new MovimientoServicesImpl();
            //obtengo el css
            byte[] fileContent = movimientoServices.getCSS(movimientoId);
            string mimeType = "text/css";
            string fileName = "css";

            return File(fileContent, mimeType, fileName);
        }

        public FileResult GetLogo(int movimientoId)
        {
            MovimientoServices movimientoServices = new MovimientoServicesImpl();
            //obtengo el css
            byte[] fileContent = movimientoServices.getLogo(movimientoId);
            string mimeType = "image/png";
            string fileName = "logo";

            return File(fileContent, mimeType, fileName);
        }

    }
}
